#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@desc: .

@Project：kuberCloudTest 
@File：logs.py
@Author：admin
@Date：2024/4/11 14:43 
"""
from kuberCloudTest.common.constant import OFFSET, LIMIT
from kuberCloudTest.common.basic import basicUtils
from kuberCloudTest.urls import Urls


class logUtils(basicUtils):

    def __init__(self, accessToken):
        super().__init__(accessToken)


def get_utils(accessToken):
    return logUtils(accessToken=accessToken)


def getLoginLog(accessToken, **kwargs):
    """
    获取登录日志
    :param accessToken:
    :param kwargs: limit:
                   offset:
                   keyword: xxx
    :return:
    """
    return get_utils(accessToken).cloud_http_request.get(Urls.getLoginLog.value,
                                                         {
                                                             'offset': kwargs.get('offset', OFFSET),
                                                             'limit': kwargs.get('limit', LIMIT),
                                                             'keyword': kwargs.get('keyword', ''),
                                                         })


def getOperationLog(accessToken, **kwargs):
    """
    获取操作日志
    :param accessToken:
    :param kwargs: limit:
                   offset:
                   keyword: xxx
                   searchItem: 搜索项：
                                1: 操作描述
                                2：操作员
                                3：IP
                                4：项目名称
                   success: 执行结果，默认不填，则为所有
                                0: 失败
                                1：成功
                                2：处理中
                                3：超时
                   range: 查询时间范围，格式：2024-04-11 至 2024-04-11
    :return:
    """
    return get_utils(accessToken).cloud_http_request.get(Urls.getOperationLog.value,
                                                         {
                                                             'offset': kwargs.get('offset', OFFSET),
                                                             'limit': kwargs.get('limit', LIMIT),
                                                             'searchItem': kwargs.get('searchItem', 1),
                                                             'keyword': kwargs.get('keyword', ''),
                                                             'success': kwargs.get('success', ''),
                                                             'range': kwargs.get('range', '')
                                                         })


def createOperationLog(accessToken, **kwargs):
    """
    生成操作日志
    :param accessToken:
    :param kwargs: limit:
                   offset:
                   keyword: xxx
                   searchItem: 搜索项：
                                1: 操作描述
                                2：操作员
                                3：IP
                                4：项目名称
                   success: 执行结果，默认不填，则为所有
                                0: 失败
                                1：成功
                                2：处理中
                                3：超时
                   range: 查询时间范围，格式：2024-04-11 至 2024-04-11
                   total: 总数
    :return:
    """
    return get_utils(accessToken).cloud_http_request.get(Urls.exportOperationLog.value,
                                                         {
                                                             'offset': kwargs.get('offset', OFFSET),
                                                             'limit': kwargs.get('limit', LIMIT),
                                                             'searchItem': kwargs.get('searchItem', 1),
                                                             'keyword': kwargs.get('keyword', ''),
                                                             'success': kwargs.get('success', ''),
                                                             'range': kwargs.get('range', '')
                                                         })


def getApiLog(accessToken, **kwargs):
    """
    获取API审计日志
    :param accessToken:
    :param kwargs: limit:
                   offset:
                   keyword: xxx
                   searchItem: 搜索项：
                                1: 操作描述
                                2：操作员
                                3：IP
                                4：项目名称
                   success: 执行结果，默认不填，则为所有
                                0: 失败
                                1：成功
                                2：处理中
                                3：超时
                   range: 查询时间范围，格式：2024-04-11 至 2024-04-11
    :return:
    """
    return get_utils(accessToken).cloud_http_request.get(Urls.getApiLog.value,
                                                         {
                                                             'offset': kwargs.get('offset', OFFSET),
                                                             'limit': kwargs.get('limit', LIMIT),
                                                             'searchItem': kwargs.get('searchItem', 1),
                                                             'keyword': kwargs.get('keyword', ''),
                                                             'success': kwargs.get('success', ''),
                                                             'range': kwargs.get('range', '')
                                                         })
